perm filename KAUD.SAI[KI,ALS] blob sn#099366 filedate 1974-04-30 generic text, type T, neo UTF8
00010	ENTRY HEAR;
00020	BEGIN
00030	DEFINE ⊂="COMMENT";
00040	⊂ To initiate the ADC and FRECRD an utterance in file LISTEN.TMP;
00050	DEFINE CR="'15",LF="'12",CRLF="CR&LF";
00060	
00070	REQUIRE "KPLAY.REL[KI,ALS]" LOAD_MODULE;
00080	REQUIRE "FRECRD.REL[KI,ALS]" LOAD_MODULE;
00090	REQUIRE "FIXUPA.REL[X,ALS]" LIBRARY;
00100	REQUIRE "IO.REL[X,ALS]" LIBRARY;
00110	REQUIRE "SUIO.REL[X,ALS]" LIBRARY;
00120	REQUIRE "LIB.REL[NET,NJM]" LIBRARY;
00130	EXTERNAL PROCEDURE KPLAY;
00140	EXTERNAL FORTRAN PROCEDURE FRECRD;
00150	 EXTERNAL INTEGER CHAN3;
00160	INTEGER SEGNAM,PP;
00170	INTEGER ARRAY DUMMY[1:2];
00180	
00190	INTERNAL PROCEDURE HEAR;
00200	BEGIN "KIHEAR"
00210	INTEGER BRCHR,EOF; BOOLEAN ER;
00220	
00230	CLOSE(CHAN3); OPEN(CHAN3,"DSK",'10,1,1,0,0,EOF);
00240	  LOOKUP(CHAN3,"LISTEN.TMP[KI,ALS]",ER);
00250	  CLOSE(CHAN3); RENAME(CHAN3,"OLD.TMP",0,0); RELEASE(CHAN3);
00260	  ⊂ Rename old LISTEN.TMP file for safety;
00270	outstr("Start talking after the first beep and stop on second"&CRLF);
00280	 START_CODE MOVE 0,['725005000004];  '047000400110 ; END;
00290	⊂ This sounds the beep for 1 second with immediate return, so that
00300	  the ADC can be called before the speaker starts;
00310	OUTSTR("The beep should be sounding for 1 second now"&CRLF);
00320	
00330	⊂ Get segment name and detach;
00340	 START_CODE  '047000400037; MOVEM 0,SEGNAM; '047040400017; END;
00350	
00360	FRECRD(DUMMY[1]);
00370	
00380	START_CODE MOVE 0,SEGNAM; '047000400016; JFCL; END;
00390	⊂ Reattach segment;
00400	 START_CODE MOVE 0,['725005000004];  '047000400110 ; END;
00410	
00420	END "KIHEAR";
00430	
00440	
00450	INTERNAL PROCEDURE SAY(STRING UTTER);
00460	BEGIN "SAY"
00470	
00480	INTEGER I;
00495	INTERNAL INTEGER ARRAY NAME[0:5];
00500	
00505	UTTER←UTTER&".SAY";
00520	FOR I←0 STEP 1 UNTIL 4 DO BEGIN
00570	  NAME[I]←CVASC(UTTER[1 TO 5]);
00575	  UTTER←UTTER[6 TO 20];
00590	  END;
00600	  KPLAY;
00610	END "SAY";
00620	
00630	END;